package com.jhy.review.day06;

/**
 * 在arr上，找满足>=value的最左位置
 * 2022年8月28日21:38:46
 */
public class BSNearLeft {
    //    找到最左位置 找满足>=value的最左位置
    public static int nearest(int[] arr, int value) {
        int l = 0;
        int r = arr.length - 1;
//        定义一个标志 来记录符合大于等于一个数的标志的位置
        int index = -1;
        while (l < r) {
            int mid = l + ((r - l) >> 1);
            if (arr[mid] >= value) {
                index = mid;
                r = mid - 1;
            } else {
                l = mid + 1;
            }
        }
        return index;
    }
    public static void main(String[] args) {
        int[] arr = {1,2,2,2,3,3,4,4,5,5};
        int index = nearest(arr, 5);
        System.out.println(index);
    }

}
